home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 25 / Cream of the Crop 25.iso / image / mufus54d.zip / MUFUSION.DOC < prev    next >
Text File  |  1996-04-04  |  17KB  |  402 lines

  1. Documentation for MUFUSION.
  2.  
  3. This is _FREE_ software.
  4.  
  5. If you are happy with this software, please give a copy to anyone you 
  6. think might find it useful.  If you find any problems, please contact me 
  7. (details below).
  8.  
  9. This project is funded entirely from the Cardiology's Departmental 
  10. funds.  Donations to support further work will be well received (see 
  11. also the note below on commercial versions).
  12.  
  13.  
  14. Description:
  15.  
  16.   Mufusion is a terminal program which emulates a Microfusion MF30 
  17.   terminal, as used with McDonnell Douglas hospital information systems 
  18.   software.  It provides 20 odd screens of backpaging, and extensive
  19.   facilities for data capture.  It should work with any text video mode
  20.   supported by your hardware.
  21.  
  22.   It is compiled in Borland Pascal v7.0, and was adapted from a
  23.   videotext terminal program by Jim Nutt, which is in the public domain.
  24.   It has also been compiled in Microsoft Pascal v1.0 and Turbo Pascal
  25.   v5.0, but not extensively tested.
  26.  
  27.   Most of the code in MUFUSION.PAS is copyright (C) Cardiology 
  28.   Department, Royal Melbourne Hospital.  Some parts were written in my 
  29.   own time and are copyright to me personally.
  30.  
  31.   The source code for MUFUSION is available by special arrangement.
  32.  
  33.   We also have an int14 interface version of this package which will 
  34.   work with an asychronous comms server across a network.  This version
  35.   is available from us, currently for $1000 for a site licence.  (We'd 
  36.   like to try an recover some of our development costs.)  This package 
  37.   works with Fresh Technologies Asynchronous Communications server, and 
  38.   with NSCA's NET14 TCP/IP interface (on UNIX machines).
  39.  
  40.   Mufusion for Windows is currenly in development, and a useable
  41.   (thought incomplete) version is available.  Mufusion for Windows
  42.   supports IP via the Winsock standard and serial comms. Pricing is
  43.   $2000 for a site license, or $1000 to licensees of the int14 version.
  44.  
  45. Startup:
  46.  
  47.   Mufusion by default uses COM1: at 9600 baud.  The complete syntax for 
  48.   mufusion is
  49.  
  50.   MUFUSION [<port>[/irq] [<speed>[<parity>][<databits>][stopbits]
  51.            [ <fgcol>[ <bgcol> [ <prcol>[ printer [macro]]]]]]]
  52.  
  53.   All parameters are optional.
  54.  
  55.   The port can be a number from 1 to 4 (defaults to COM1:).  If the port 
  56.   can not be found, the program will give an error message and set the 
  57.   DOS errorlevel to 1.  A non-standard interrupt can be specified.  This 
  58.   may hang your machine if incorrectly used.  If you don't know what 
  59.   you're doing, leave it alone!
  60.  
  61.   The speed can be one of 110, 150, 300, 600, 1200, 2400, 4800, 9600, 
  62.   19200, 38400 or 57600 (defaults to 9600).  Parity and number of data
  63.   and stop bits can be specified and default to none, eight and one.
  64.  
  65.   The foreground color is a number from 0 to 7 (where 0=black, 1=blue,
  66.   2=green, 3=cyan, 4=red, 5=magenta, 6=brown, 7=white).  The default is
  67.   green.
  68.  
  69.   The background color is likewise a number between 0 and 7, the default
  70.   is black.
  71.  
  72.   A different color can be specified for protected mode text.  This 
  73.   defaults to cyan.
  74.  
  75.   With a monochrome graphics adaptor, the color settings have no effect.
  76.  
  77.   The printer can be any DOS device (LPT1, LPT2, LPT3, COM1, COM2, NUL) 
  78.   or a file name.  If not specified, it defaults to LPT1.  If the
  79.   device/file name is invalid, a warning will be given.  Do not send 
  80.   printer output to the port you are using for communications.
  81.  
  82.   A macro file can be specified for startup.  If none is specified, the
  83.   file mufusion.mfm (or mufint14.mfm, or whatever) from mufusion's
  84.   directory is used if it exists.
  85.  
  86.   The environment variable MUFO allows further tweaking of the program's
  87.   behavior.  Currently the only option available is PO, which causes
  88.   printer output not to be sent to screen.  To enable this, put the line
  89.   SET MUFO=PO in the file autoexec.bat.
  90.  
  91.   A .PIF file is provided for running mufusion under windows.
  92.  
  93.   To use 132 column mode, MUFUSION needs to know what screen mode to 
  94.   select for your video BIOS.  To this find out, look in the manual that 
  95.   came with your video card for a list of modes, or use the accompanying 
  96.   program TESTVID.  The command SET WVM=<number> at the DOS prompt 
  97.   stores this information for MUFUSION.  Beware, this number must be
  98.   specified in decimal, while your manual may give it in Hex.  Values of 
  99.   35, 83, 85 and 96 may be worth trying.  When you've found the correct
  100.   mode, put the SET command in your AUTOEXEC.BAT file.
  101.  
  102.  
  103. Commands:
  104.  
  105.   The current command list is as follows:
  106.  
  107.     <ALT>-<C>           Open/close a capture file.  With a capture file 
  108.                         on, all incoming characters are saved in the 
  109.                         file.  The bottom right corner of the display 
  110.                         flashes to indicate capture is on.
  111.  
  112.     <ALT>-<D>           Dial with a Hayes compatible modem.  Precede the 
  113.                         number with "P" or "T" to force pulse or tone 
  114.                         dialing.
  115.  
  116.     <ALT>-<E>           Select emulation (debugger, microfusion, wordmate
  117.                         or prism).
  118.  
  119.     <ALT>-<F>           Send a formfeed to the printer and flush the 
  120.                         printer buffer.
  121.  
  122.     <ALT>-<H>           Hang up the modem.
  123.  
  124.     <ALT>-<I>           Dump the screen to an image file, useful for
  125.                         preparing documentation.
  126.  
  127.     <ALT>-<M>           Play, record or do various things in macro files.
  128.  
  129.     <ALT>-<O>           Shell to DOS, allowing DOS operations while
  130.                         preserving the terminal screen.
  131.  
  132.     <ALT>-<P>           Toggle the printer on/off.  The bottom right 
  133.                         corner of the screen is brightened to indicate 
  134.                         when the printer is on.
  135.  
  136.     <ALT>-<Q>           Prints the screen (same as PrtSc key).
  137.  
  138.     <ALT>-<R>           Run a DOS command (for running file transfer
  139.                         programs, other emulators, editors, etc.)
  140.  
  141.     <ALT>-<S>           Set printer.  Allows selection of a different 
  142.                         printer or for printing to be directed to a 
  143.                         file.  This is useful for downloading reports to 
  144.                         the DOS disk, for later editing with a word 
  145.                         processor or further manipulation with a
  146.                         spreadsheet.
  147.  
  148.     <ALT>-<V>           Select a video mode.  The screen modes used for 
  149.                         wide, high and big settings are defined by the 
  150.                         environmental variables WVM, HVM and BVM.  You 
  151.                         need to tell the host the new screen size to use 
  152.                         this with reports (see MUFUSION.SIZ).
  153.  
  154.     <ALT>-<X>           Exit the terminal emulator (without hanging up 
  155.                         the modem).
  156.  
  157.     PgUp or <ALT>-<F7>  Page back.
  158.     PgDn or <ALT>-<F8>  Page forward (when paged back).
  159.     Home                Line back.
  160.     End                 Line forward (when paged back).
  161.  
  162.     <CTRL-BREAK>        Send a break signal.
  163.  
  164.     Print Screen        Print the screen to the specified output device.
  165.  
  166.  
  167. Other keys (apart from the obvious ones):
  168.  
  169.     <ALT>-<F1>          Send ^[.
  170.     <ALT>-<F2>          Send ^\.
  171.     <ALT>-<F3>          Send ^^.
  172.     <ALT>-<F4>          Send ^].
  173.     <ALT>-<F5>          Send ^@.
  174.     <ALT>-<F6>          Send ^@.
  175.     <ALT>-<F9>          Clear the screen.
  176.     <ALT>-<F10>     Menu of miscellaneous extras.
  177.  
  178.     <CTRL>-<F1..F10>    Play macro file called F1.MFM .. F10.MFM
  179.  
  180.     <Left arrow> or     Send chr(20)
  181.     <CTRL>-<left arrow>
  182.  
  183.     <Right arrow> or    Send chr(22)
  184.     <CTRL>-<right arrow>
  185.  
  186.     <Up arrow>          Send chr(24)
  187.     <Down arrow>        Send chr(18)
  188.  
  189.     <CTRL>-<Home>       Send chr(23)
  190.     <CTRL>-<PgUp>       Send chr(25)
  191.     <CTRL>-<PgDn>       Send chr(19)
  192.     <CTRL>-<End>        Send chr(17)
  193.     <Ins>               Send chr(16)
  194.     <Del>               Send chr(14)
  195.     <Shift-Tab>         Send chr(15)
  196.  
  197.     <CTRL>-<backspace>  Send chr(127)
  198.  
  199.  
  200. Implementation:
  201.  
  202.   Mufusion sends characters with parity set to none.  Received 
  203.   characters have the parity bit stripped before display, but no parity 
  204.   is the prefered line setting.  If the host does not support XON/XOFF 
  205.   flow control, mufusion may drop characters, particulary when printing 
  206.   to a slow printer or capturing data onto a floppy disk.  Not all of 
  207.   the microfusion terminal control codes are implemented, those that are 
  208.   are listed below.  All these functions should behave as for an MF30 
  209.   terminal.  If they don't, please let me know.
  210.  
  211. Control Codes
  212.  
  213.     EOT   ( 3)          Printing off
  214.     BELL  ( 7)          Bell
  215.     BS    ( 8)          Back space destructive
  216.     LF    (10)          Line feed
  217.     VT    (11)          Vertical Address lead-in
  218.     FF    (12)          Master clear
  219.     CR    (13)          Carriage return
  220.     DLE   (16)          Horizontal Address lead-in
  221.     SUB   (26)          Clear screen
  222.  
  223.     Escape Sequences
  224.  
  225.     SP                  Destructive backspace
  226.     !                   Continuous bell
  227.     &                   Protect off
  228.     '                   Protect on
  229.     (                   Full intensity
  230.     )                   Half intensity
  231.     *                   New line
  232.     +                   Master clear
  233.     ,                   Clear to end of page
  234.     -                   Clear to end of line
  235.     1                   Non-reverse video
  236.     2                   Reverse video
  237.     5                   Bell
  238.     <                   Cursor left
  239.     = <y> <x>           Position cursor row Y col X
  240.     >                   Cursor right
  241.     @                   Send a carriage return
  242.     E                   Insert line
  243.     F                   Expanded facilities - some implemented, see below
  244.     J                   Clear to end of page
  245.     K                   Clear to end of line
  246.     L                   Cursor down
  247.     M                   Cursor up
  248.     N                   Flashing on
  249.     O                   Flashing off
  250.     P                   Print the screen
  251.     R                   Delete line (printer on if prism kludge on)
  252.     T                   Clear to end of line (printer off if prism kludge on)
  253.     Y                   Clear to end of page
  254.     Z                   Cursor home
  255.     [c                  Turn prism kludge on.
  256.     [<14h               Go to 80 column mode and clear screen.
  257.     [<14l               Go to 132 column mode and clear screen.
  258.     b            goto start of next line
  259.     e <x> <c>           Repeat character x for count c
  260.     k                   Clear to end of page
  261.     o                   Clear block
  262.     p                   Clear field
  263.     x            MUFUSION special extensions, see below
  264.  
  265. Expanded Facilities
  266.  
  267.     :                   Flush printer buffer.
  268.     ;                   Print n copies.
  269.     A                   ASCII printer ON
  270.     B                   Printer OFF
  271.     C                   Binary printer ON
  272.     E                   Half-duplex
  273.     F                   Full-duplex
  274.     M                   Reposition cursor
  275.     W                   Define function keys.
  276.  
  277. MUFUSION special extensions
  278.  
  279.     8                   Use 8 data bits (until next screen clear).
  280.     ? C                 Respond with 'Y' or 'N' to indicate color 
  281.                         availability.
  282.     ? H                 Respond with number of rows on screen.
  283.     ? V                 Respond with version number.
  284.     ? W         Respond with number of columns on screen.
  285.     ? p                 Respond with 'Y' or 'N' to indicate if printer
  286.                         is on.
  287.     B            Select large screen mode.
  288.     C                   Select text color (foreground color + 16 * 
  289.                         background color)
  290.     H            Select high screen mode (42/49 rows, 80 columns).
  291.     P <name> <cr>       Select printer device.
  292.     S                   Select small screen mode (24 rows, 80 columns).
  293.     W            Select wide screen mode (24 rows, 132 columns).
  294.     b <y1> <x1> <y2> <x2> <attr> <style>
  295.             Draw a box from x1,y1 to x2,y2 with specified
  296.                         PC attribute is specified style (0-8).  Sending
  297.                         attr = 0 leaves the color unchanged.
  298.     c            Turn manual coloring off.
  299.     s l <cr>        Load saved screen from buffer.
  300.     s l <name> <cr>    Load saved screen from file via buffer and send
  301.                         back status code (=0 for no error).  Screen names
  302.                         can be up to eight characters long and may contain
  303.                         any of the characters A-Z, 0-9 and $.  The screen is
  304.                         save in a file with with the extension .MSD and
  305.                         prefixed with a path read from the environment
  306.                         variable SDP, or the current directoy if SDP is
  307.                         empty.
  308.     s r <name> <cr>    Retreive saved screen from file via buffer, delete
  309.             file and send back status code (=0 for no error).
  310.     s s <cr>        Save screen to buffer.
  311.     s s <name> <cr>    Save screen to buffer, write buffer to file and
  312.             send back status code (=0 for no error).
  313.  
  314. Keyboard Macros
  315.  
  316.   Keyboard macro files are files of Turbo Pascal keyboard codes, except 
  317.   that a linefeed is inserted after each carriage return character when
  318.   writing a macro, and the character after a carriage return is ignored 
  319.   when reading a macro.  Text files can be used as macros, and any macro 
  320.   file conataining only printable characters (no commands, backspaces 
  321.   etc) is a text file and can be edited with any text editor.  The macro 
  322.   terminates at the first end-of-file (^Z) character.
  323.  
  324.   After a printable character (ascii space to tilda) is sent, the macro 
  325.   pauses until that character is echoed.  If the character fails to echo,
  326.   Alt-M C can be used to continue the macro, or Alt-M S to stop it.  
  327.   Because they're not echoed, passwords can not simply be embeded in 
  328.   macro files.  The Alt-M I function can, however, be used to prompt the
  329.   user for a password which is then sent to the host.  If you need to 
  330.   send a printable string which won't be echoed, the Alt-M T function 
  331.   can be used, which transmits characters at 10ms intervals without 
  332.   waiting for them to echo.
  333.  
  334.   Because most reports will contain the character which triggered them, 
  335.   macros have a tendency to get ahead of the host while a report is
  336.   generated.  The Alt-M W function forces the macro to pause until the
  337.   nominated string is received from the host.
  338.  
  339.   The macro can be paused for user input using Alt-M I, or can branch to
  340.   another macro under user control using Alt-M A.
  341.  
  342. Acknowledgments:
  343.  
  344. Thanks is due to the following people;
  345.  
  346. Jim Nutt, who wrote the original teletext terminal emulator on which this
  347. is loosely based.
  348.  
  349. Philip R. Burns, Alan Bishop, C. J. Dunford, Michael Quinlan, Gene 
  350. Harris and Michael Quinlan who wrote various parts of the asynchronous 
  351. communication port handling library used by this program.
  352.  
  353. Robert Murton, Peter Coventry, Andrew McKenzie, Ron Nash, Louis 
  354. Eilermann, Neil McQuinn, Danny O'Callaghan, Paul Oppy, Joe Bainbridge
  355. Tim Naylor, Stuart Pendrich and Phil Hepner who have helped with testing 
  356. the code and tracking down problems.
  357.  
  358. The Intensive Care Unit at RMH, who supplied a copy of Turbo Pascal.
  359.  
  360. Health Computing Sevices, who have provided a copy of Fresh Technology's 
  361. Modem Assist for the development of the INT14 version of MUFUSION, and 
  362. Irene Pearey, Rhonda Whitfield and Barry Rogers, who helped arrange 
  363. this.
  364.  
  365. Tim McLean who supplied the vital clue for making 132 character video
  366. mode work with Turbo Pascal, and for suggestions for extra features.
  367.  
  368. Warren Dickins for his help in writing a POSH terminal driver for 
  369. MUFUSION.  Support for the POSH driver has now been taken over by 
  370. Dickins software, and it should be obtained from them.
  371.  
  372. David Morley for his assistance in writing a TERMCAP.
  373.  
  374. The Austin Hospital, who donated a hard disk for my home computer so I 
  375. can run Borland Pascal.
  376.  
  377.  
  378. Comments, distribution:
  379.  
  380. Please send any comments to me, Peter Summers, c/- Cardiology Department,
  381. Royal Melbourne Hospital, 3050, phone (+613/03) 9342 8727, fax (+613/03)
  382. 9347 2808 or email peter@cardiology.medrmh.unimelb.edu.au.  Suggestions
  383. for enhancements are welcomed, though I don't promise to implement them.
  384.  
  385. A mailing list now exists for questions and answers about mufusion.  To
  386. subscribe to this list, send a message with the first line "subscribe
  387. mufusion" to maiser@cardiology.medrmh.unimelb.edu.au.
  388.  
  389. Updates of this code are regularly posted to the SIMTEL archives, and 
  390. can be obtained from oak.oakland.edu or archie.au by FTP.
  391.  
  392.  
  393. Blatant Advertising:
  394.  
  395. Cardiology at RMH also has cardiology patient record keeping systems for 
  396. echocardiographs, ambulatory monitor, exercise test, catheterisation and 
  397. ECG reports, a stock control program, an equipment database program and 
  398. an electronic mail program, all written in Clipper, which we would like 
  399. to make available to others (for a price).  We are willing to sell 
  400. source code licenses for these packages.  Please call me if you are 
  401. interested.
  402.